package com.eqxiu.ieditor.api;

import com.eqxiu.ieditor.dto.HomePageBaseInfoDTO;
import com.eqxiu.ieditor.dto.HomePageUserSceneDTO;

import java.util.List;
import java.util.Map;

/**
 * @Description 微主页用户作品接口
 * @Author SuiXiangyu
 * @Date 2019/4/3
 **/
public interface HomePageSceneServiceApi {

    /**
     * @Description 批量添加微主页作品
     * @Author SuiXiangyu
     * @Date 2019/4/3
     * @Param [homePageUserSceneDTO]
     * @return void
     **/
    void addHomePageScene(List<HomePageUserSceneDTO> homePageUserSceneDTOList);

    /**
     * @Description 根据场景id移除微主页作品
     * @Author SuiXiangyu
     * @Date 2019/4/3
     * @Param [sceneId]
     * @return void
     **/
    void deleteHomePageScene(Integer sceneId);

    /**
     * @Description 更新微主页作品信息
     * @Author SuiXiangyu
     * @Date 2019/4/3
     * @Param [homePageUserSceneDTO]
     * @return void
     **/
    void updateHomePageScene(HomePageUserSceneDTO homePageUserSceneDTO);

   /**
    * @Description 根据用户id分页查询作品
    * @Author SuiXiangyu
    * @Date 2019/4/3
    * @Param [userId, pageSize, pageNo]
    * @return java.util.Map<java.lang.String,java.lang.Object>
    **/
    Map<String,Object> queryHomePageByUserId(String userId, int pageSize, int pageNo,boolean orderByTime,boolean orderBySort);

    /**
     *
     * @Description 根据场景id查询作品数
     * @Author SuiXiangyu
     * @Date 2019/5/28
     * @Param [sceneId]
     * @return int
     **/
    int countHomePageBySceneId(Integer sceneId);

    /**
     * @Description 查询用户(userId)是否将该作品已经设置为微主页
     * @Author lifen
     * @Date 2019/9/18
     * @Param [userId, sceneIds]
     **/
    Map<String ,Object> isExistSceneByUserId(String userId, List<Integer> sceneIds);
    /**
     * @Description 批量删除该用户的多个微主页作品
     * @Author lifen
     * @Date 2019/9/18
     * @Param [userId, sceneIds]
     **/
    void batchRemoveHomePageScene(String userId, List<Integer> sceneIds);

    HomePageBaseInfoDTO getHomePageBaseInfo(String sceneCode);

    int isExistHomePage( String  sceneCode, String userId);


}
